Dynomotion

Group: DynoMotion Message: 7864 From: sparky300013 Date: 7/7/2013
Subject: 4.31e and softlimits
I have been playing with 4.31e and the soft limit functions built into the software.
using mach3, I have the homing working by setting the soft limit range to a large number. At the end of homing routine set it to set the soft limits to the axis size. I notice it sets feed hold on Kmotion and if I click the feed hold button on kmotion I can start running again from mach3.
Is there a way to use the notify mach3 function to read the feed hold condition from the KFlop, and be able to hit the feed hold button on mach screen to clear the feed hold condition.
Next favor to ask is have a flag built into the soft limit, something we can read, a virtual bit for each axis soft limit positive and negative. A bit that gets set when it is on or past the soft limit.

Thank you
Rob
Group: DynoMotion Message: 7870 From: Tom Kerekes Date: 7/8/2013
Subject: Re: 4.31e and softlimits
Hi Rob,

Are you saying that Feedhold becomes active when you configure the Soft Limits in your Home routine? 

That shouldn't happen if all the Axes Destintions are within the Soft Limit Range before you Set the Soft Limits to the Axes range.  Make sure you wait for the Motion to stop or finish before setting the Soft Limits.

The NotifyZeroEncoderMach3.c has an example of how to set/release Hardware Feedhold from Mach3 Basic with a NotifyPlugins(10500) message.  The Notify code is:

    if (msg==10500)
    {
        if (CS0_StoppingState == 0)
            StopCoordinatedMotion();
        else
            ResumeCoordinatedMotion();
    }



To set Virtual IO bits 48-51 depending on whether the axes are in the soft limits you could add code to a Loop in your Init.c code as:

        SetStateBit(48,ch0->Dest >= ch0->SoftLimitNeg);
        SetStateBit(49,ch0->Dest <= ch0->SoftLimitPos);
        SetStateBit(50,ch1->Dest >= ch1->SoftLimitNeg);
        SetStateBit(51,ch1->Dest <= ch1->SoftLimitPos);
        SetStateBit(52,ch2->Dest >= ch2->SoftLimitNeg);
        SetStateBit(53,ch2->Dest <= ch2->SoftLimitPos);

HTH
Regards
TK


Group: DynoMotion Message: 7882 From: sparky300013 Date: 7/8/2013
Subject: Re: 4.31e and softlimits
No feed hold only activates when I jog all the way to the soft limit or try to go past it. Homing routine works like it is suppose to. I have the soft limits set after the axis has stopped moving, disables the axis set the soft limit range, zero the axis, then enable the axis.

Thank you for the help on the feed hold in mach3, But it did take me for ever to realize the feed hold button needed to be modified for the notify plugins.

I have noticed when jogging the axis at high feed rate. when the soft limit is violated it does take it some distance to slow down and stop.

Is there a way to print to the message bar in mach3 from the KFlop?
This is one of the reasons I was looking for a way to set a bit when the soft limit is violated. I want the control to let me know what axis and end it is on.

Thank you
Rob

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Rob,
>
> Are you saying that Feedhold becomes active when you configure the Soft Limits in your Home routine? 
>
> That shouldn't happen if all the Axes Destintions are within the Soft Limit Range before you Set the Soft Limits to the Axes range.  Make sure you wait for the Motion to stop or finish before setting the Soft Limits.
>
> The NotifyZeroEncoderMach3.c has an example of how to set/release Hardware Feedhold from Mach3 Basic with a NotifyPlugins(10500) message.  The Notify code is:
>
>     if (msg==10500)
>     {
>         if (CS0_StoppingState == 0)
>             StopCoordinatedMotion();
>         else
>             ResumeCoordinatedMotion();
>     }
>
>
>
> To set Virtual IO bits 48-51 depending on whether the axes are in the soft limits you could add code to a Loop in your Init.c code as:
>
>         SetStateBit(48,ch0->Dest >= ch0->SoftLimitNeg);
>         SetStateBit(49,ch0->Dest <= ch0->SoftLimitPos);
>         SetStateBit(50,ch1->Dest >= ch1->SoftLimitNeg);
>         SetStateBit(51,ch1->Dest <= ch1->SoftLimitPos);
>         SetStateBit(52,ch2->Dest >= ch2->SoftLimitNeg);
>         SetStateBit(53,ch2->Dest <= ch2->SoftLimitPos);
>
>
> HTH
> Regards
> TK
>
>
>
>
> ________________________________
> From: sparky300013 <rwclark@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, July 7, 2013 12:30 PM
> Subject: [DynoMotion] 4.31e and softlimits
>
>
>
>  
> I have been playing with 4.31e and the soft limit functions built into the software.
> using mach3, I have the homing working by setting the soft limit range to a large number. At the end of homing routine set it to set the soft limits to the axis size. I notice it sets feed hold on Kmotion and if I click the feed hold button on kmotion I can start running again from mach3.
> Is there a way to use the notify mach3 function to read the feed hold condition from the KFlop, and be able to hit the feed hold button on mach screen to clear the feed hold condition.
> Next favor to ask is have a flag built into the soft limit, something we can read, a virtual bit for each axis soft limit positive and negative. A bit that gets set when it is on or past the soft limit.
>
> Thank you
> Rob
>
Group: DynoMotion Message: 7889 From: Tom Kerekes Date: 7/9/2013
Subject: Re: 4.31e and softlimits
Hi Rob,

The distance to stop from high speed should be determined by your Acceleration and Jerk settings in KFLOP.  Increase them to stop faster.

We don't have a way to print to the Mach3 message bar from KFLOP.  A workaround might be to set an error code and upload it to a DRO and then decode it to a message.

Regards
TK